Touch interfaces such as touchscreens are increasingly being deployed in computing devices, communications devices, entertainment devices and other components. As touch operation is increasingly improving, its widespread adoption in such applications as mobile devices is changing the model of mobile device usage. In particular, a typical touchscreen such as a capacitive touchscreen provides a different user experience as compared to pixel based devices such as a mouse or track pad. This is at least in part due to the multi touch experience afforded by touchscreens which may be sensitive to properties of a human finger, such as pressure, moving speed and size, etc.
One issue that arises with this sensitivity is that typical touch operations employed in touchscreen interfaces may have poor accuracy, especially as compared to mouse or track pad devices. This may lead to user dissatisfaction with operation of a touchscreen device in spite of advantages afforded by a touchscreen. If the results of touch inputs do not match a user's expectation, a user has to revoke an operation and repeat the operation. This reduces the efficiency of device operation and boosts the power consumption of the device during operation. Moreover, even though efforts are underway to develop a variety of more user friendly user interfaces (UI) to provide a better touch experience, it remains difficult to equip the touch based UIs for all native or web applications.
In present day touchscreen devices, the event simulators are typically designed to fetch raw data from the kernel of an operating system and to map it directly for the application involved in the particular touch event. If such raw touch events spring out without revision, the upper application response may be far from a user's expectation. In general, the accuracy and efficiency of interpreting touch events remain key issues that affect the touchscreen device user experience. In particular, different users have different touching habits that are based on differences in finger size, whether a device is held in the left or right hand, sensitive finger snap and environmental noise.
Such personalized traits may involve many unclear or brand-new events which do not take place in standard input devices such as: pixel based mouse, physical sensing keypad, wheel and joystick. To solve these and other issues, a developer has to prepare a variety of events filters to facilitate the ability of applications to adjust to each user, which may difficult because of the large variation in individual traits across potentially hundreds of millions of users.
It is with respect to these and other considerations that the present improvements have been needed.